package com.itheima.Mapper;

import com.itheima.pojo.ShoppingCart;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ShoppingCartMapper {

    /**
     * 添加购物车项
     */
    void insert(ShoppingCart cartItem);

    /**
     * 更新购物车项
     */
    void update(ShoppingCart cartItem);

    /**
     * 删除购物车项
     */
    void delete(@Param("userId") Integer userId, @Param("productId") Integer productId);

    /**
     * 批量删除购物车项
     */
    void batchDelete(@Param("userId") Integer userId, @Param("productIds") List<Integer> productIds);

    /**
     * 清空购物车
     */
    void clear(@Param("userId") Integer userId);

    /**
     * 根据用户和商品查询购物车项
     */
    ShoppingCart getByUserAndProduct(@Param("userId") Integer userId, @Param("productId") Integer productId);

    /**
     * 获取用户购物车列表
     */
    List<ShoppingCart> list(@Param("userId") Integer userId);
}